/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package carrancao.controlador;

import carrancao.entidades.Produto;
import carrancao.exception.CadastrarProdutoException;
import carrancao.repositorio.ProdutoRepositorio;
import java.util.List;
import javax.swing.JOptionPane;

/**
 *
 * @author Lubnnia
 */
public class ProdutoControlador {

    private ProdutoRepositorio produtoRep;

    public ProdutoControlador() {
       this.produtoRep = new ProdutoRepositorio();
    }

    public void validarProduto(Produto produto) throws CadastrarProdutoException {

        if(produto.getDescricao().equals("")) {
            JOptionPane.showMessageDialog(null, "Favor preencha os campos obrigatórios",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        }

    }

    public void cadastrarProduto(Produto produto) throws CadastrarProdutoException {

        //this.validarProduto(produto);

        this.produtoRep.cadastrarProduto(produto);

        JOptionPane.showMessageDialog(null, "Produto Cadastrado com Sucesso!",
                "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
    }

    public boolean alterarProduto(Produto produto) throws CadastrarProdutoException {
        boolean resposta = false;
        if(!(produto.getDescricao().equals("") && produto.getCategoria().equals("") && produto.getItens().equals(""))) {
            this.produtoRep.alterarProduto(produto);
            resposta = true;
        } else {
            resposta = false;
        }
        return resposta;
    }

    public void deletarProduto(Produto produto) {

        if(produto != null) {
            this.produtoRep.deletarProduto(produto);
            JOptionPane.showMessageDialog(null, "Dados Excluídos com Sucesso!",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        } else {
            JOptionPane.showMessageDialog(null, "Produto não existe!",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        }

    }

    public Produto pesquisarProdutoPorID(int id) {

        Produto produto = this.produtoRep.pesquisarProdutoPorID(id);

        return produto;

    }

    public List pesquisarProdutoTodos() {

        List produto = this.produtoRep.pesquisarProdutoTodos();

        return produto;

    }

    public List pesquisarProdutoPorNome(String nomeProduto) {

        List produto = this.produtoRep.pesquisarClientePorNome(nomeProduto);

        return produto;

    }

}
